Systems and methods for providing feedback to improve fuel consumption efficiency

ABSTRACT

Method and system for improving fuel consumption efficiency. For example, the method includes collecting user driving data for one or more vehicle trips made by a user between a particular pair of origination and destination points, analyzing the user driving data to determine one or more user driving features of a user driving behavior for the particular pair of origination and destination points, comparing the one or more user driving features with one or more desired driving features of a desired driving behavior for the particular pair of origination and destination points, determining a performance feedback based at least in part on the comparison, and providing the performance feedback to the user to improve a user fuel consumption efficiency for the particular pair of origination and destination points.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent Application No. 62/899,038, filed Sep. 11, 2019, incorporated by reference herein for all purposes.

FIELD OF THE DISCLOSURE

Some embodiments of the present disclosure are directed to improving fuel consumption efficiency. More particularly, certain embodiments of the present disclosure provide methods and systems for comparing a user's driving behavior to a desired driving behavior gathered from a community of multiple users in order to assist the user in improving the user's fuel consumption efficiency. Merely by way of example, the present disclosure has been applied to a particular pair of origination and destination points. But it would be recognized that the present disclosure has much broader range of applicability.

BACKGROUND OF THE DISCLOSURE

Fuel costs represent a significant portion of a vehicle owner's expenses. Typically, owners try to manage their fuel consumption efficiency by manually tracking the mileage driven between refills. However, this practice does not take into account any of the various driver-related factors that may affect the fuel consumption efficiency. As a result, owners may end up spending more money than desired on fuel for their vehicles.

The conventional techniques for improving fuel consumption lack sufficient efficacy. Hence it is highly desirable to develop better techniques to improve fuel consumption efficiency.

BRIEF SUMMARY OF THE DISCLOSURE

Some embodiments of the present disclosure are directed to improving fuel consumption efficiency. More particularly, certain embodiments of the present disclosure provide methods and systems for comparing a user's driving behavior to a desired driving behavior gathered from a community of multiple users in order to assist the user in improving the user's fuel consumption efficiency. Merely by way of example, the present disclosure has been applied to a particular pair of origination and destination points. But it would be recognized that the present disclosure has much broader range of applicability.

According to some embodiments, a method for improving fuel consumption efficiency includes collecting user driving data for one or more vehicle trips made by a user between a particular pair of origination and destination points. The user driving data include information related to a user driving behavior of the user for the particular pair of origination and destination points. Also, the method includes analyzing the user driving data to determine one or more user driving features of the user driving behavior for the particular pair of origination and destination points. The one or more user driving features are related to a user fuel consumption efficiency of the user for the particular pair of origination and destination points. Additionally, the method includes comparing the one or more user driving features with one or more desired driving features of a desired driving behavior for the particular pair of origination and destination points. The one or more desired driving features are related to a desired fuel consumption efficiency for the particular pair of origination and destination points. Moreover, the method includes determining a performance feedback based at least in part on the comparison and providing the performance feedback to the user to improve the user fuel consumption efficiency for the particular pair of origination and destination points.

According to certain embodiments, a computing device for improving fuel consumption efficiency includes one or more processors and a memory that stores instructions for execution by the one or more processors. The instructions, when executed, cause the one or more processors to collect user driving data for one or more vehicle trips made by a user between a particular pair of origination and destination points. The user driving data include information related to a user driving behavior of the user for the particular pair of origination and destination points. Also, the instructions, when executed, cause the one or more processors to analyze the user driving data to determine one or more user driving features of the user driving behavior for the particular pair of origination and destination points. The one or more user driving features are related to a user fuel consumption efficiency of the user for the particular pair of origination and destination points. Additionally, the instructions, when executed, cause the one or more processors to compare the one or more user driving features with one or more desired driving features of a desired driving behavior for the particular pair of origination and destination points. The one or more desired driving features are related to a desired fuel consumption efficiency for the particular pair of origination and destination points. Moreover, the instructions, when executed, cause the one or more processors to determine a performance feedback based at least in part on the comparison and provide the performance feedback to the user to improve the user fuel consumption efficiency for the particular pair of origination and destination points.

According to some embodiments, a non-transitory computer-readable medium stores instructions for improving fuel consumption efficiency. The instructions are executed by one or more processors of a computing device. The non-transitory computer-readable medium includes instructions to collect user driving data for one or more vehicle trips made by a user between a particular pair of origination and destination points. The user driving data include information related to a user driving behavior of the user for the particular pair of origination and destination points. Also, the non-transitory computer-readable medium includes instructions to analyze the user driving data to determine one or more user driving features of the user driving behavior for the particular pair of origination and destination points. The one or more user driving features are related to a user fuel consumption efficiency of the user for the particular pair of origination and destination points. Additionally, the non-transitory computer-readable medium includes instructions to compare the one or more user driving features with one or more desired driving features of a desired driving behavior for the particular pair of origination and destination points. The one or more desired driving features are related to a desired fuel consumption efficiency for the particular pair of origination and destination points. Moreover, the non-transitory computer-readable medium includes instructions to determine a performance feedback based at least in part on the comparison and provide the performance feedback to the user to improve the user fuel consumption efficiency for the particular pair of origination and destination points.

Depending upon the embodiment, one or more benefits may be achieved. These benefits and various additional objects, features and advantages of the present disclosure can be fully appreciated with reference to the detailed description and accompanying drawings that follow.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified method for improving fuel consumption efficiency according to certain embodiments of the present disclosure.

FIG. 2 is a simplified method for determining desired driving features for a particular pair of origination and destination points according to certain embodiments of the present disclosure.

FIG. 3 is a simplified method for improving fuel consumption efficiency and determining driving features for a particular pair of origination and destination points according to certain embodiments of the present disclosure.

FIG. 4 is a simplified method for training an artificial neural network according to certain embodiments of the present disclosure.

FIG. 5 is a simplified system for improving fuel consumption efficiency according to certain embodiments of the present disclosure.

DETAILED DESCRIPTION OF THE DISCLOSURE

Some embodiments of the present disclosure are directed to improving fuel consumption efficiency. More particularly, certain embodiments of the present disclosure provide methods and systems for comparing a user's driving behavior to a desired driving behavior gathered from a community of multiple users in order to assist the user in improving the user's fuel consumption efficiency. Merely by way of example, the present disclosure has been applied to a particular pair of origination and destination points. But it would be recognized that the present disclosure has much broader range of applicability.

As discussed herein, fuel consumption efficiency refers to the amount of fuel used per unit distance according to some embodiments. According to various embodiments, the fuel includes any suitable type of vehicle fuel such as gasoline, diesel, natural gas, hydrogen, propane, alcohol, other hydrocarbons, or mixtures thereof.

I. One or More Methods for Improving Fuel Consumption Efficiency According to Certain Embodiments

FIG. 1 is a simplified method for improving fuel consumption efficiency according to certain embodiments of the present disclosure. This diagram is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. The method 100 includes process 110 for collecting user driving data for vehicle trips made by a user between a particular pair of origination and destination points, process 120 for analyzing the user driving data to determine user driving features of a user driving behavior for the particular pair of origination and destination points, process 130 for comparing the user driving features with desired driving features of a desired driving behavior for the particular pair of origination and destination points, process 140 for determining a performance feedback based in part on the comparison, and process 150 for providing the performance feedback to the user to improve a user fuel consumption efficiency for the particular pair of origination and destination points. Although the above has been shown using a selected group of processes for the method, there can be many alternatives, modifications, and variations. For example, some of the processes may be expanded and/or combined. Other processes may be inserted to those noted above. Depending upon the embodiment, the sequence of processes may be interchanged with others replaced. For example, some or all processes of the method are performed by a computing device or a processor directed by instructions stored in memory. As an example, some or all processes of the method are performed according to instructions stored in a non-transitory computer-readable medium.

Specifically, at the process 110, the user driving data are collected for one or more vehicle trips made by the user between the particular pair of origination and destination points according to some embodiments. As an example, the particular pair of origination and destination points represents a specific vehicle route driven by the user. For example, the particular pair of origination and destination points represents a vehicle route between the user's home and the user's workplace. As an example, the particular pair of origination and destination points represents a vehicle route between two cities visited by the user.

According to certain embodiments, the user driving data include information related to the user driving behavior of the user for the particular pair of origination and destination points. For example, the user driving behavior represents an actual manner in which the user drives between the particular pair of origination and destination points. In some embodiments, the user driving data include additional information for the particular pair of origination and destination points (e.g., traffic information, road condition information, terrain information, weather information, location information).

According to certain embodiments, the user driving data are collected from one or more sensors associated with a vehicle operated by the user. For example, the one or more sensors include any type and number of accelerometers, gyroscopes, magnetometers, location sensors (e.g., GPS sensors), tilt sensors, yaw rate sensors, speedometers, steering angle sensors, proximity detectors, and/or any other suitable sensors that measure vehicle operation. In some embodiments, the one or more sensors are part of or located in the vehicle. In certain embodiments, the one or more sensors are part of a computing device (e.g., a mobile device of the user) that is connected to the vehicle while the vehicle is in operation. According to some embodiments, the user driving data are collected continuously or at predetermined time intervals. According to certain embodiments, the user driving data are collected based on a triggering event. For example, the user driving data are collected when each sensor has acquired a threshold amount of sensor measurements.

At the process 120, the user driving data are analyzed to determine one or more user driving features of the user driving behavior for the particular pair of origination and destination points according to certain embodiments. As an example, the one or more user driving features are related to the user fuel consumption efficiency of the user for the particular pair of origination and destination points. For example, the one or more user driving features indicate various driving maneuvers made by the user that can impact the amount of fuel consumed including braking (e.g., excessive braking, sudden braking, braking while reaching a turn, braking while driving in a turn), acceleration (e.g., rapid acceleration, prolonged acceleration, acceleration while driving in a turn, accelerating while exiting a turn), cornering (e.g., sharp turning, swerving), speeding (e.g., cruising, adopting speed limits), lane changing, tailgating, idling, timing of gear shifting, and/or other suitable maneuvers. According to some embodiments, the one or more user driving features are classified by their level of severity (e.g., speed and duration at which a maneuver is performed).

At the process 130, the one or more user driving features are compared with one or more desired driving features of the desired driving behavior for the particular pair of origination and destination points according to some embodiments. As an example, the one or more desired driving features are related to a desired fuel consumption efficiency for the particular pair of origination and destination points. For example, the desired driving behavior represents an ideal manner for the user to drive between the particular pair of origination and destination points. As an example, the one or more desired driving features indicate ideal or standard driving maneuvers (e.g., braking, acceleration, speeding, and/or cornering) that will result in the desired fuel consumption efficiency for the particular pair of origination and destination points. As an example, if the one or more desired driving features for the particular pair of origination and destination points include a certain number of smooth braking events, then the one or more user driving features, determined in the process 120, are compared against the one or more desired driving features to determine whether the user also performed the same number of smooth braking events during the user's trip between the particular pair of origination and destination points.

At the process 140, the performance feedback is determined based in part on the comparison made in the process 130 according to certain embodiments. At the process 150, the performance feedback is provided to the user to improve the user fuel consumption efficiency for the particular pair of origination and destination points according to some embodiments. For example, if the comparison at the process 130 shows that some or all of the user driving features did not match the desired driving features for the particular pair of origination and destination points, then the performance feedback provided to the user will indicate one or more suggestions about which of the user driving features that the user needs to improve in order to improve the user fuel consumption efficiency. As an example, which driving maneuvers the user should strive to improve so that the user fuel consumption efficiency can match the desired fuel consumption efficiency. For example, the performance feedback serves to assist the user in developing driving habits that will enable more fuel-efficient vehicle operation.

According to certain embodiments, the performance feedback includes suggestions not only on which user driving features to improve but how much the user driving features need to be improved upon according to certain embodiments. In some embodiments, the suggestions are ranked according to a priority. For example, a suggestion is assigned a high priority because the suggestion is the most effective in lowering fuel consumption. As an example, a suggestion is assigned a high priority because the suggestion is both the most effective in lowering fuel consumption and easiest for the user to accomplish. According to some embodiments, the user can select a suggestion to implement first based on the priority of the suggestion and the user's own assessment of how easy it is to implement the suggestion.

II. One or More Methods for Determining Desired Driving Features for Particular Pair of Origination and Destination Points According to Certain Embodiments

FIG. 2 is a simplified method for determining the desired driving features for the particular pair of origination and destination points according to certain embodiments of the present disclosure. This diagram is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. The method 200 includes process 210 for collecting community driving data for vehicle trips made by other users between the particular pair of origination and destination points, and process 220 for analyzing the community driving data to determine the desired driving features of the desired driving behavior for the particular pair of origination and destination points. Although the above has been shown using a selected group of processes for the method, there can be many alternatives, modifications, and variations. For example, some of the processes may be expanded and/or combined. Other processes may be inserted to those noted above. Depending upon the embodiment, the sequence of processes may be interchanged with others replaced. For example, some or all processes of the method are performed by a computing device or a processor directed by instructions stored in memory. As an example, some or all processes of the method are performed according to instructions stored in a non-transitory computer-readable medium.

At the process 210, the community driving data are collected for one or more vehicle trips made by one or more other users between the particular pair of origination and destination points according to certain embodiments. According to some embodiments, the community driving data include the user driving data. For example, collecting the community data includes collecting data from the one or more other users as well as from the user. According to certain embodiments, the community driving data include information related to a community driving behavior of the one or more other users for the particular pair of origination and destination points. For example, the community driving behavior represents an actual manner in which the one or more other users drive between the particular pair of origination and destination points.

According to certain embodiments, the community driving data are collected from various sensors (e.g., one or more accelerometers, one or more gyroscopes, one or more magnetometers, and/or one or more GPS sensors) associated with respective vehicles operated by the one or more other users. In some embodiments, the various sensors are part of or located in the respective vehicles. In certain embodiments, the various sensors are part of respective computing devices of the one or more other users that are connected to the respective vehicles during vehicle operation.

At the process 220, the community driving data are analyzed to determine the one or more desired driving features of the desired driving behavior for the particular pair of origination and destination points according to some embodiments. For example, the community driving data are analyzed using a suitable machine learning model or algorithm to determine the one or more desired driving features that influence the desired fuel consumption efficiency. According to certain embodiments, the one or more desired driving features include a first set of driving features that increase the desired fuel consumption efficiency and a second set of driving features that decrease the desired fuel consumption efficiency. In some examples, accelerating smoothly at a moderate rate tends to consume less fuel. For example, this type of maneuver belongs to the first set of driving feature that increase the desired fuel consumption efficiency. In certain examples, excessive braking tends to consume more fuel. As an example, this type of maneuver belongs to the second set of driving features that decrease the desired fuel consumption efficiency. In some examples, staying in one lane avoids the need to constantly accelerate into an open lane which in turn lowers fuel consumption. For example, this type of maneuver belongs to the first set of driving features that increase the desired fuel consumption efficiency. In certain examples, tailgating often results in unnecessary braking and acceleration that tend to consume fuel. For example, this type of maneuver belongs to the second set of driving features that decrease the desired fuel consumption efficiency.

According to some embodiments, the one or more desired driving features are classified according to their importance levels for either increasing or decreasing the desired fuel consumption efficiency. For example, each of the first set of driving features corresponds to a respective first importance level for increasing the desired fuel consumption efficiency. As an example, each of the second set of driving features corresponds to a respective second importance level for decreasing the desired fuel consumption efficiency.

According to some embodiments, the desired driving features of the desired driving behavior for the particular pair of origination and destination points as determined by the process 220 are used by the process 130 as shown in FIG. 1.

III. One or More Methods for Improving Fuel Consumption Efficiency and Determining Driving Features According to Certain Embodiments

FIG. 3 is a simplified method for improving fuel consumption efficiency and determining a desired driving features for a particular pair of origination and destination points according to certain embodiments of the present disclosure. This diagram is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. The method 300 includes process 310 for collecting community driving data for vehicle trips made by users between a particular pair of origination and destination points, process 320 for providing the community driving data to a model (e.g., an artificial neural network) to generate desired driving features of a desired driving behavior for the particular pair of origination and destination points, process 330 for collecting user driving data for vehicle trips made by a user between the particular pair of origination and destination points, process 340 for providing the user driving data to the model (e.g., the artificial neural network) to generate user driving features of a user driving behavior for the particular pair of origination and destination points, process 350 for comparing the user driving features with the desired driving features for the particular pair of origination and destination points, and process 360 for determining a performance feedback based in part on the comparison and providing the performance feedback to the user to improve a user fuel consumption efficiency for the particular pair of origination and destination points. Although the above has been shown using a selected group of processes for the method, there can be many alternatives, modifications, and variations. For example, some of the processes may be expanded and/or combined. Other processes may be inserted to those noted above. Depending upon the embodiment, the sequence of processes may be interchanged with others replaced. For example, some or all processes of the method are performed by a computing device or a processor directed by instructions stored in memory. As an example, some or all processes of the method are performed according to instructions stored in a non-transitory computer-readable medium.

At the process 310, the community driving data are collected for one or more vehicle trips made by one or more users between the particular pair of origination and destination points according to some embodiments. According to certain embodiments, the community driving data include information related to a community driving behavior of the one or more users for the particular pair of origination and destination points. For example, the community driving behavior represents an actual manner in which the one or more users drive between the particular pair of origination and destination points. As an example, the particular pair of origination and destination points represents a specific vehicle route driven by the one or more users. For example, the particular pair of origination and destination points represents a vehicle route between two geographical locations.

According to certain embodiments, the community driving data are collected from various sensors (e.g., one or more accelerometers, one or more gyroscopes, one or more magnetometers, and/or one or more GPS sensors) associated with respective vehicles operated by the one or more users. In some embodiments, the various sensors are part of or located in the respective vehicles, while in certain embodiments, the various sensors are part of respective computing devices of the one or more users that are connected to the respective vehicles during vehicle operation.

At the process 320, the community driving data are provided to the model (e.g., the artificial neural network) to generate one or more desired driving features of the desired driving behavior for the particular pair of origination and destination points according to certain embodiments. As an example, the one or more desired driving features are related to a desired fuel consumption efficiency for the particular pair of origination and destination points. For example, the desired driving behavior represents an ideal manner for the one or more users to drive between the particular pair of origination and destination points. As an example, the one or more desired driving features indicate ideal or standard driving maneuvers (e.g., braking, acceleration, speeding, and/or cornering) that will result in the desired fuel consumption efficiency for the particular pair of origination and destination points.

According to various embodiments, the artificial neural network has already been trained, and the trained artificial neural network possesses existing knowledge of which driving features are desirable in terms of fuel consumption efficiency. For example, generating the one or more desired driving features involves that the trained neural network analyzes the community driving data based on the existing knowledge. As an example, analyzing the community driving data includes various tasks such as performing feature extractions, applying nonlinear activation functions, and/or other suitable tasks. In some embodiments, the community driving data are provided to a machine learning model (e.g., a decision tree, a Bayesian network, a genetic algorithm, and/or a support vector machine) to generate the one or more desired driving features.

At the process 330, the user driving data are collected for one or more vehicle trips made by the user between the particular pair of origination and destination points according to some embodiments. According to certain embodiments, the user driving data include information related to a user driving behavior of the user for the particular pair of origination and destination points. For example, the user driving behavior represents an actual manner in which the user drives between the particular pair of origination and destination points. In some embodiments, the user driving data are included in the community driving data.

According to certain embodiments, the user driving data are collected from various sensors (e.g., one or more accelerometers, one or more gyroscopes, one or more magnetometers, and/or one or more GPS sensors) associated with a vehicle operated by the user. In some embodiments, the various sensors are part of or located in the vehicle, while in certain embodiments, the various sensors are part of a computing device of the user that is connected to the vehicle during vehicle operation.

At the process 340, the user driving data are provided to the model (e.g., the artificial neural network) to generate one or more user driving features of the user driving behavior for the particular pair of origination and destination points according to certain embodiments. As an example, the one or more user driving features are related to a user fuel consumption efficiency for the particular pair of origination and destination points. For example, the one or more user driving features indicate driving maneuvers made by the user (e.g., braking, acceleration, speed, and/or cornering) that can impact the amount of fuel consumed.

At the process 350, the one or more user driving features are compared with the one or more desired driving features for the particular pair of origination and destination points according to some embodiments. As an example, if the one or more desired driving features for the particular pair of origination and destination points include not accelerating rapidly while driving in a turn, then the one or more user driving features are compared to determine whether the user also performed the same maneuver during the user's trip between the particular pair of origination and destination points. According to some embodiments, this comparison is performed by the model (e.g., the artificial neural network). According to certain embodiments, this comparison is performed by another suitable machine learning model or algorithm.

At the process 360, the performance feedback is determined based in part on the comparison made in the process 350 according to certain embodiments. As an example, the performance feedback is then provided to the user to improve the user fuel consumption efficiency for the particular pair of origination and destination points. According to certain embodiments, the performance feedback indicates suggestions about which of the user driving features that the user needs to improve in order to improve the user fuel consumption efficiency. In some embodiments, the suggestions also indicate how much the user driving features need to be improved upon. In some embodiments, the suggestions are ranked in terms of their effectiveness in lowering fuel consumption. In certain embodiments, the suggestions are ranked in terms of their effectiveness in lowering fuel consumption and the ease of their accomplishment by the user. In some embodiments, the user can select which suggestion to implement first based on the ranking of the suggestions and the user's own assessment of the ease to implement the suggestion.

FIG. 4 is a simplified method for training an artificial neural network used by the method 300 as shown in FIG. 3 according to certain embodiments of the present disclosure. This diagram is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. The method 400 includes process 410 for collecting sets of training data, process 420 for providing one set of training data to an artificial neural network for training, process 430 for analyzing the one set of training data to determine driving features associated with a fuel consumption, process 440 for generating a predicted efficiency value related to the fuel consumption, process 450 for comparing the predicted efficiency value with an actual efficiency value, process 460 for adjusting parameters related to the driving features associated with the fuel consumption in the artificial neural network, and process 470 for determining whether training of the artificial neural network has been completed. Although the above has been shown using a selected group of processes for the method, there can be many alternatives, modifications, and variations. For example, some of the processes may be expanded and/or combined. Other processes may be inserted to those noted above. Depending upon the embodiment, the sequence of processes may be interchanged with others replaced. For example, some or all processes of the method are performed by a computing device or a processor directed by instructions stored in memory. As an example, some or all processes of the method are performed according to instructions stored in a non-transitory computer-readable medium.

At the process 410, one or more sets of training data for one or more vehicle trips are collected according to some embodiments. For example, each set of training data includes driving data related to a driving behavior and an actual efficiency value related to a fuel consumption. As an example, the one or more sets of training data are collected from various users making various vehicle trips between different locations. In various embodiments, the one or more sets of training data are collected from sensors (e.g., one or more accelerometers, one or more gyroscopes, one or more magnetometers, and/or one or more GPS sensors) associated with respective vehicles operated by the various users.

At the process 420, one set of training data in the one or more sets of training data is provided to the artificial neural network to train the artificial neural network according to certain embodiments. As an example, the artificial neural network is a convolutional neural network, a recurrent neural network, a modular neural network, or any other suitable type of neural network.

At the process 430, the driving data of the one set of training data are analyzed by the artificial neural network to determine one or more driving features associated with the fuel consumption according to some embodiments. According to certain embodiments, the one or more driving features indicate various driving maneuvers (e.g., braking, acceleration, speeding, and/or cornering) that can impact the amount of fuel consumed. For example, sudden braking and/or acceleration are considered driving features that tend to consume more fuel. As an example, smooth braking and/or acceleration at moderate rates are considered driving features that tend to consume less fuel.

At the process 440, the predicted efficiency value related to the fuel consumption is generated by the artificial neural network based in part on the one or more driving features according to certain embodiments. For example, in generating the predicted efficiency value, one or more parameters related to the one or more driving features associated with the fuel consumption are calculated by the artificial neural network (e.g., weight values associated with various layers of connections in the artificial neural network).

At the process 450, the predicted efficiency value is compared with the actual efficiency value to determine an accuracy of the predicted efficiency value according to some embodiments. According to certain embodiments, the accuracy is determined by using a loss function or a cost function for the one set of training data.

At the process 460, based in part on the comparison, the one or more parameters related to the one or more driving features associated with the fuel consumption are adjusted by the artificial neural network. For example, the one or more parameters are adjusted in order to reduce (e.g., minimize) the loss function or the cost function.

At the process 470, a determination is made on whether the training has been completed according to certain embodiments. For example, training for the one set of training data is completed when the loss function or the cost function for the one set of training data is sufficiently reduced (e.g., minimized). As an example, training for the artificial neural network is completed when training for each of the one or more sets of training data is accomplished.

In some embodiments, if the process 470 determines that training of the artificial neural network is not yet completed, then the method 400 returns to the process 420 in an iterative manner until training is deemed to be completed.

In certain embodiments, if the process 470 determines that training of the artificial neural network is completed, then the method 400 for training the artificial neural network stops. In some examples, the artificial neural network that has been trained by the method 400 is used as a model by the process 320 of the method 300 as shown in FIG. 3. In certain examples, the trained artificial neural network possesses existing knowledge of which driving features are desirable in terms of fuel consumption efficiency.

IV. One or More Systems for Improving Fuel Consumption Efficiency According to Certain Embodiments

FIG. 5 is a simplified system for improving fuel consumption efficiency according to certain embodiments of the present disclosure. This diagram is merely an example, which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. The system 500 includes a vehicle system 502, a network 504, and a server 506. Although the above has been shown using a selected group of components for the system, there can be many alternatives, modifications, and variations. For example, some of the components may be expanded and/or combined. Other components may be inserted to those noted above. Depending upon the embodiment, the arrangement of components may be interchanged with others replaced.

In various embodiments, the system 500 is used to implement the method 100, the method 200, the method 300, and/or the method 400. According to certain embodiments, the vehicle system 502 includes a vehicle 510 and a client device 512 associated with the vehicle 510. For example, the client device 512 is an on-board computer embedded or located in the vehicle 510. As an example, the client device 512 is a mobile device (e.g., a smartphone) that is connected (e.g., via wired or wireless links) to the vehicle 510. As an example, the client device 512 includes a processor 516 (e.g., a central processing unit (CPU), a graphics processing unit (GPU)), a memory 518 (e.g., random-access memory (RAM), read-only memory (ROM), flash memory), a communications unit 520 (e.g., a network transceiver), a display unit 522 (e.g., a touchscreen), and one or more sensors 524 (e.g., an accelerometer, a gyroscope, a magnetometer, a GPS sensor).

In some embodiments, the vehicle 510 is operated by the user. In certain embodiments, multiple vehicles 510 exist in the system 500 which are operated by respective users. As an example, during vehicle trips, the one or more sensors 524 monitor the vehicle 510 by collecting data associated with various operating parameters of the vehicle, such as speed, acceleration, braking, location, engine status, as well as other suitable parameters. In certain embodiments, the collected data include vehicle telematics data. According to some embodiments, the data are collected continuously, at predetermined time intervals, and/or based on a triggering event (e.g., when each sensor has acquired a threshold amount of sensor measurements). In various embodiments, the collected data represent the user driving data and/or the community driving data in the method 100, the method 200, and/or the method 300, and/or the one or more sets of training data in the method 400.

According to certain embodiments, the collected data are stored in the memory 518 before being transmitted to the server 506 using the communications unit 522 via the network 504 (e.g., via a local area network (LAN), a wide area network (WAN), the Internet). In some embodiments, the collected data are transmitted directly to the server 506 via the network 504. In certain embodiments, the collected data are transmitted to the server 506 via a third party. For example, a data monitoring system stores any and all data collected by the one or more sensors 524 and transmits those data to the server 506 via the network 504 or a different network.

According to certain embodiments, the server 506 includes a processor 530 (e.g., a microprocessor, a microcontroller), a memory 532, a communications unit 534 (e.g., a network transceiver), and a data storage 536 (e.g., one or more databases). In some embodiments, the server 506 is a single server, while in certain embodiments, the server 506 includes a plurality of servers with distributed processing. In FIG. 5, the data storage 536 is shown to be part of the server 506. In some embodiments, the data storage 536 is a separate entity coupled to the server 506 via a network such as the network 504. In certain embodiments, the server 506 includes various software applications stored in the memory 532 and executable by the processor 530. For example, these software applications include specific programs, routines, or scripts for performing functions associated with the method 100, the method 200, the method 300, and/or the method 400. As an example, the software applications include general-purpose software applications for data processing, network communication, database management, web server operation, and/or other functions typically performed by a server.

According to various embodiments, the server 506 receives, via the network 504, the data collected by the one or more sensors 524 using the communications unit 534 and stores the data in the data storage 536. For example, the server 506 then processes the data to perform one or more processes of the method 100, one or more processes of the method 200, one or more processes of the method 300, and/or one or more processes of the method 400.

According to certain embodiments, the performance feedback determined in the method 100 and/or the method 300 is transmitted back to the client device 512, via the network 504, to be provided (e.g., displayed) to the user via the display unit 522.

In some embodiments, one or more processes of the method 100, one or more processes of the method 200, one or more processes of the method 300, and/or one or more processes of the method 400 are performed by the client device 512. For example, the processor 516 of the client device 512 processes the data collected by the one or more sensors 524 to perform one or more processes of the method 100, one or more processes of the method 200, one or more processes of the method 300, and/or one or more processes of the method 400.

V. Examples of Certain Embodiments of the Present Disclosure

According to some embodiments, a method for improving fuel consumption efficiency includes collecting user driving data for one or more vehicle trips made by a user between a particular pair of origination and destination points. The user driving data include information related to a user driving behavior of the user for the particular pair of origination and destination points. Also, the method includes analyzing the user driving data to determine one or more user driving features of the user driving behavior for the particular pair of origination and destination points. The one or more user driving features are related to a user fuel consumption efficiency of the user for the particular pair of origination and destination points. Additionally, the method includes comparing the one or more user driving features with one or more desired driving features of a desired driving behavior for the particular pair of origination and destination points. The one or more desired driving features are related to a desired fuel consumption efficiency for the particular pair of origination and destination points. Moreover, the method includes determining a performance feedback based at least in part on the comparison and providing the performance feedback to the user to improve the user fuel consumption efficiency for the particular pair of origination and destination points. For example, the method is implemented according to at least FIG. 1 and/or FIG. 3.

According to certain embodiments, a computing device for improving fuel consumption efficiency includes one or more processors and a memory that stores instructions for execution by the one or more processors. The instructions, when executed, cause the one or more processors to collect user driving data for one or more vehicle trips made by a user between a particular pair of origination and destination points. The user driving data include information related to a user driving behavior of the user for the particular pair of origination and destination points. Also, the instructions, when executed, cause the one or more processors to analyze the user driving data to determine one or more user driving features of the user driving behavior for the particular pair of origination and destination points. The one or more user driving features are related to a user fuel consumption efficiency of the user for the particular pair of origination and destination points. Additionally, the instructions, when executed, cause the one or more processors to compare the one or more user driving features with one or more desired driving features of a desired driving behavior for the particular pair of origination and destination points. The one or more desired driving features are related to a desired fuel consumption efficiency for the particular pair of origination and destination points. Moreover, the instructions, when executed, cause the one or more processors to determine a performance feedback based at least in part on the comparison and provide the performance feedback to the user to improve the user fuel consumption efficiency for the particular pair of origination and destination points. For example, the computing device is implemented according to at least FIG. 5.

According to some embodiments, a non-transitory computer-readable medium stores instructions for improving fuel consumption efficiency. The instructions are executed by one or more processors of a computing device. The non-transitory computer-readable medium includes instructions to collect user driving data for one or more vehicle trips made by a user between a particular pair of origination and destination points. The user driving data include information related to a user driving behavior of the user for the particular pair of origination and destination points. Also, the non-transitory computer-readable medium includes instructions to analyze the user driving data to determine one or more user driving features of the user driving behavior for the particular pair of origination and destination points. The one or more user driving features are related to a user fuel consumption efficiency of the user for the particular pair of origination and destination points. Additionally, the non-transitory computer-readable medium includes instructions to compare the one or more user driving features with one or more desired driving features of a desired driving behavior for the particular pair of origination and destination points. The one or more desired driving features are related to a desired fuel consumption efficiency for the particular pair of origination and destination points. Moreover, the non-transitory computer-readable medium includes instructions to determine a performance feedback based at least in part on the comparison and provide the performance feedback to the user to improve the user fuel consumption efficiency for the particular pair of origination and destination points. For example, the non-transitory computer-readable medium is implemented according to at least FIG. 1, FIG. 3 and/or FIG. 5.

VI. Examples of Machine Learning According to Certain Embodiments

According to some embodiments, a processor or a processing element may be trained using supervised machine learning and/or unsupervised machine learning, and the machine learning may employ an artificial neural network, which, for example, may be a convolutional neural network, a recurrent neural network, a deep learning neural network, a reinforcement learning module or program, or a combined learning module or program that learns in two or more fields or areas of interest. Machine learning may involve identifying and recognizing patterns in existing data in order to facilitate making predictions for subsequent data. Models may be created based upon example inputs in order to make valid and reliable predictions for novel inputs.

According to certain embodiments, machine learning programs may be trained by inputting sample data sets or certain data into the programs, such as images, object statistics and information, historical estimates, and/or actual repair costs. The machine learning programs may utilize deep learning algorithms that may be primarily focused on pattern recognition and may be trained after processing multiple examples. The machine learning programs may include Bayesian Program Learning (BPL), voice recognition and synthesis, image or object recognition, optical character recognition, and/or natural language processing. The machine learning programs may also include natural language processing, semantic analysis, automatic reasoning, and/or other types of machine learning.

According to some embodiments, supervised machine learning techniques and/or unsupervised machine learning techniques may be used. In supervised machine learning, a processing element may be provided with example inputs and their associated outputs and may seek to discover a general rule that maps inputs to outputs, so that when subsequent novel inputs are provided the processing element may, based upon the discovered rule, accurately predict the correct output. In unsupervised machine learning, the processing element may need to find its own structure in unlabeled example inputs.

VII. Additional Considerations According to Certain Embodiments

For example, some or all components of various embodiments of the present disclosure each are, individually and/or in combination with at least another component, implemented using one or more software components, one or more hardware components, and/or one or more combinations of software and hardware components. As an example, some or all components of various embodiments of the present disclosure each are, individually and/or in combination with at least another component, implemented in one or more circuits, such as one or more analog circuits and/or one or more digital circuits. For example, while the embodiments described above refer to particular features, the scope of the present disclosure also includes embodiments having different combinations of features and embodiments that do not include all of the described features. As an example, various embodiments and/or examples of the present disclosure can be combined.

Additionally, the methods and systems described herein may be implemented on many different types of processing devices by program code comprising program instructions that are executable by the device processing subsystem. The software program instructions may include source code, object code, machine code, or any other stored data that is operable to cause a processing system to perform the methods and operations described herein. Certain implementations may also be used, however, such as firmware or even appropriately designed hardware configured to perform the methods and systems described herein.

The systems' and methods' data (e.g., associations, mappings, data input, data output, intermediate data results, final data results) may be stored and implemented in one or more different types of computer-implemented data stores, such as different types of storage devices and programming constructs (e.g., RAM, ROM, EEPROM, Flash memory, flat files, databases, programming data structures, programming variables, IF-THEN (or similar type) statement constructs, application programming interface). It is noted that data structures describe formats for use in organizing and storing data in databases, programs, memory, or other computer-readable media for use by a computer program.

The systems and methods may be provided on many different types of computer-readable media including computer storage mechanisms (e.g., CD-ROM, diskette, RAM, flash memory, computer's hard drive, DVD) that contain instructions (e.g., software) for use in execution by a processor to perform the methods' operations and implement the systems described herein. The computer components, software modules, functions, data stores and data structures described herein may be connected directly or indirectly to each other in order to allow the flow of data needed for their operations. It is also noted that a module or processor includes a unit of code that performs a software operation, and can be implemented for example as a subroutine unit of code, or as a software function unit of code, or as an object (as in an object-oriented paradigm), or as an applet, or in a computer script language, or as another type of computer code. The software components and/or functionality may be located on a single computer or distributed across multiple computers depending upon the situation at hand.

The computing system can include client devices and servers. A client device and server are generally remote from each other and typically interact through a communication network. The relationship of client device and server arises by virtue of computer programs running on the respective computers and having a client device-server relationship to each other.

This specification contains many specifics for particular embodiments. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations, one or more features from a combination can in some cases be removed from the combination, and a combination may, for example, be directed to a subcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

Although specific embodiments of the present disclosure have been described, it will be understood by those of skill in the art that there are other embodiments that are equivalent to the described embodiments. Accordingly, it is to be understood that the present disclosure is not to be limited by the specific illustrated embodiments. 

What is claimed is:
 1. A method for improving fuel consumption efficiency, the method comprising: collecting, by a computing device, user driving data for one or more vehicle trips made by a user between a particular pair of origination and destination points, the user driving data including information related to a user driving behavior of the user for the particular pair of origination and destination points; analyzing, by the computing device, the user driving data to determine one or more user driving features of the user driving behavior for the particular pair of origination and destination points, the one or more user driving features being related to a user fuel consumption efficiency of the user for the particular pair of origination and destination points; comparing, by the computing device, the one or more user driving features with one or more desired driving features of a desired driving behavior for the particular pair of origination and destination points, the one or more desired driving features being related to a desired fuel consumption efficiency for the particular pair of origination and destination points; determining, by the computing device, a performance feedback based at least in part on the comparison; and providing, by the computing device, the performance feedback to the user to improve the user fuel consumption efficiency for the particular pair of origination and destination points.
 2. The method of claim 1, further comprising: determining, by the computing device, the one or more desired driving features of the desired driving behavior for the particular pair of origination and destination points.
 3. The method of claim 2, wherein determining the one or more desired driving features of the desired driving behavior for the particular pair of origination and destination points includes: collecting community driving data for one or more vehicle trips made by at least one or more other users between the particular pair of origination and destination points, the community driving data including information related to a community driving behavior of at least the one or more other users for the particular pair of origination and destination points; and analyzing the community driving data to determine the one or more desired driving features of the desired driving behavior for the particular pair of origination and destination points.
 4. The method of claim 3, wherein collecting the community driving data for the one or more vehicle trips made by at least the one or more other users between the particular pair of origination and destination points includes: collecting the community driving data for the one or more vehicle trips made by at least the user and the one or more other users between the particular pair of origination and destination points.
 5. The method of claim 1, wherein the one or more desired driving features of the desired driving behavior include: one or more first driving features that increase the desired fuel consumption efficiency; one or more second driving features that decrease the desired fuel consumption efficiency; and wherein: the one or more first driving features correspond to one or more first importance levels respectively for increasing the desired fuel consumption efficiency; and the one or more second driving features correspond to one or more second importance levels respectively for decreasing the desired fuel consumption efficiency.
 6. The method of claim 1, wherein providing the performance feedback to the user to improve the user fuel consumption efficiency for the particular pair of origination and destination points includes: providing the user with at least one suggestion about which of the one or more user driving features that the user needs to improve in order to improve the user fuel consumption efficiency.
 7. The method of claim 1, wherein analyzing the user driving data to determine the one or more user driving features of the user driving behavior for the particular pair of origination and destination points includes: providing the user driving data to an artificial neural network to generate the one or more user driving features of the user driving behavior for the particular pair of origination and destination points.
 8. The method of claim 7, further comprising: collecting community driving data for one or more vehicle trips made by at least one or more users between the particular pair of origination and destination points, the community driving data including information related to a community driving behavior of at least the one or more users for the particular pair of origination and destination points; and providing the community driving data to the artificial neural network to generate the one or more desired driving features of the desired driving behavior for the particular pair of origination and destination points.
 9. The method of claim 8, further comprising training the artificial neural network.
 10. A computing device for improving fuel consumption efficiency, the computing device comprising: one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: collect user driving data for one or more vehicle trips made by a user between a particular pair of origination and destination points, the user driving data including information related to a user driving behavior of the user for the particular pair of origination and destination points; analyze the user driving data to determine one or more user driving features of the user driving behavior for the particular pair of origination and destination points, the one or more user driving features being related to a user fuel consumption efficiency of the user for the particular pair of origination and destination points; compare the one or more user driving features with one or more desired driving features of a desired driving behavior for the particular pair of origination and destination points, the one or more desired driving features being related to a desired fuel consumption efficiency for the particular pair of origination and destination points; determine a performance feedback based at least in part on the comparison; and provide the performance feedback to the user to improve the user fuel consumption efficiency for the particular pair of origination and destination points.
 11. The computing device of claim 10, wherein the instructions further comprise instructions that, when executed by the one or more processors, cause the one or more processors to: determine the one or more desired driving features of the desired driving behavior for the particular pair of origination and destination points.
 12. The computing device of claim 11, wherein the instructions that cause the one or more processors to determine the one or more desired driving features of the desired driving behavior for the particular pair of origination and destination points further comprise instructions that cause the one or more processors to: collect community driving data for one or more vehicle trips made by at least one or more other users between the particular pair of origination and destination points, the community driving data including information related to a community driving behavior of at least the one or more other users for the particular pair of origination and destination points; and analyze the community driving data to determine the one or more desired driving features of the desired driving behavior for the particular pair of origination and destination points.
 13. The computing device of claim 12, wherein the instructions that cause the one or more processors to collect the community driving data for the one or more vehicle trips made by at least the one or more other users between the particular pair of origination and destination points further comprise instructions that cause the one or more processors to: collect the community driving data for the one or more vehicle trips made by at least the user and the one or more other users between the particular pair of origination and destination points.
 14. The computing device of claim 10, wherein the one or more desired driving features of the desired driving behavior include: one or more first driving features that increase the desired fuel consumption efficiency; one or more second driving features that decrease the desired fuel consumption efficiency; and wherein: the one or more first driving features correspond to one or more first importance levels respectively for increasing the desired fuel consumption efficiency; and the one or more second driving features correspond to one or more second importance levels respectively for decreasing the desired fuel consumption efficiency.
 15. The computing device of claim 10, wherein the instructions that cause the one or more processors to provide the performance feedback to the user to improve the user fuel consumption efficiency for the particular pair of origination and destination points further comprise instructions that cause the one or more processors to: provide the user with at least one suggestion about which of the one or more user driving features that the user needs to improve in order to improve the user fuel consumption efficiency.
 16. The computing device of claim 10, wherein the instructions that cause the one or more processors to analyze the user driving data to determine the one or more user driving features of the user driving behavior for the particular pair of origination and destination points further comprise instructions that cause the one or more processors to: provide the user driving data to an artificial neural network to generate the one or more user driving features of the user driving behavior for the particular pair of origination and destination points.
 17. The computing device of claim 16, wherein the instructions further comprise instructions that, when executed by the one or more processors, cause the one or more processors to: collect community driving data for one or more vehicle trips made by at least one or more users between the particular pair of origination and destination points, the community driving data including information related to a community driving behavior of at least the one or more users for the particular pair of origination and destination points; and provide the community driving data to the artificial neural network to generate the one or more desired driving features of the desired driving behavior for the particular pair of origination and destination points.
 18. The computing device of claim 17, wherein the instructions further comprise instructions that, when executed by the one or more processors, cause the one or more processors to train the artificial neural network.
 19. A non-transitory computer-readable medium storing instructions for improving fuel consumption efficiency, the instructions when executed by one or more processors of a computing device, cause the computing device to: collect user driving data for one or more vehicle trips made by a user between a particular pair of origination and destination points, the user driving data including information related to a user driving behavior of the user for the particular pair of origination and destination points; analyze the user driving data to determine one or more user driving features of the user driving behavior for the particular pair of origination and destination points, the one or more user driving features being related to a user fuel consumption efficiency of the user for the particular pair of origination and destination points; compare the one or more user driving features with one or more desired driving features of a desired driving behavior for the particular pair of origination and destination points, the one or more desired driving features being related to a desired fuel consumption efficiency for the particular pair of origination and destination points; determine a performance feedback based at least in part on the comparison; and provide the performance feedback to the user to improve the user fuel consumption efficiency for the particular pair of origination and destination points.
 20. The non-transitory computer-readable medium of claim 19, wherein the instructions, when executed by the one or more processors, further cause the computing device to: collect community driving data for one or more vehicle trips made by at least one or more other users between the particular pair of origination and destination points, the community driving data including information related to a community driving behavior of at least the one or more other users for the particular pair of origination and destination points; and analyze the community driving data to determine the one or more desired driving features of the desired driving behavior for the particular pair of origination and destination points. 